package com.slofzx.nuoda.evaluation.project.entity;


import com.baomidou.mybatisplus.annotation.TableField;
import org.apache.ibatis.type.JdbcType;
import com.slofzx.nuoda.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;

import java.sql.JDBCType;

/**
 * 项目信息(ProjectInfo)实体类
 *
 * @author nuoda
 * @since 2023-10-20 11:04:02
 */
@TableName("EVA_PROJECT_INFO")
public class ProjectInfo extends BaseEntity {
    private static final long serialVersionUID = -63712113444591639L;
    /**
     * 项目名称
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String name;
    /**
     * 项目类型
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String type;
    /**
     * 建设单位
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String buildOffice;
    /**
     * 评价期（年数）
     */
    @TableField(jdbcType = JdbcType.INTEGER)
    private Integer evaluationPeriod;
    /**
     * 建设期年限
     */
    @TableField(jdbcType = JdbcType.INTEGER)
    private Integer buildYearCount;

    /**
     * 产品类型
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String productType;
    /**
     * 油气品种
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String productProperty;
    /**
     * 油气藏类型
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String poolType;
    /**
     * 新老区
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String areaMark;
    /**
     * 评价方式（地面评价、油藏评价）
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String evaluationMethod;
    /**
     * 项目年度
     */
    @TableField(jdbcType = JdbcType.INTEGER)
    private Integer year;
    /**
     * 评价任务ID
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String batchId;
    /**
     * 新建年产能（万吨）
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double newAnnualCapacity;
    /**
     * 钻井总数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer newWellCount;
    /**
     * 采出井开井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer outputWellOpenCount;
    /**
     * 注入井开井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer injectWellOpenCount;
    /**
     * 钻采投资(万元)
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double drillExtractInvest;
    /**
     * 地面投资
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double groundInvest;
    /**
     * 其他投资
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double otherInvest;
    /**
     * 待利用净资产（万元）
     */
//    @TableField(jdbcType = JdbcType.NUMERIC)
//    private Double netAssetsUnUse;

    /**
     * 新增定员（人）
     */
    @TableField(jdbcType = JdbcType.INTEGER)
    private Integer fixedPerson;
    /**
     * 大区
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String region;
    /**
     * 油气田类型
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String oilGasField;
    /**
     * 产能方式
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String capacityType;
    /**
     * 驱替方式
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String displacementMethod;

    /**
     * 钻井采油井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer drillOilWellCount;
    /**
     * 钻井采油井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer drillWaterWellCount;
    /**
     * 钻井井数小计
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer drillWellCount;
    /**
     * 直井井深
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double straightWellDeth;
    /**
     * 水平井深
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double horizontalWellDeth;
    /**
     * 进尺
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double intoRuler;
    /**
     * 基建油井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer infOilWellCount;
    /**
     * 基建水井
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer infWaterWellCount;
    /**
     * 基建井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer infWellCount;
    /**
     * 建成能力
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double builtUpCapacity;
    /**
     * 直井单井日产
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double straightWellOutput;
    /**
     * 水平单井日产
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double horizontalWellOutput;
    /**
     * 钻水平井数
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer horizontalWellCount;
    /**
     * 钻水平井
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Integer buildHorizontalWellCount;
    /**
     * 区块汽油比
     * （m³/t）
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double regionOilGasRate;
    /**
     * 利用井净值（万元）
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double oldNetWorth;
    /**
     * 基准
     * 收益率
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private Double baseIrr;
    /**
     * 最终计算版本号
     */
    @TableField(jdbcType = JdbcType.VARCHAR)
    private String computeId;
    /**
     * 是否最终版本
     */
    @TableField(jdbcType = JdbcType.NUMERIC)
    private boolean ultimate;
    /**
     * 排序字段
     */
    @TableField(jdbcType= JdbcType.NUMERIC)
    private Integer sort;
    /**
     * 任务性质
     */
    @TableField(jdbcType= JdbcType.VARCHAR)
    private String batchQuality;

    /**
     * 其他类型1
     */
    @TableField(jdbcType= JdbcType.VARCHAR)
    private String other1;
    /**
     * 其他类型2
     */
    @TableField(jdbcType= JdbcType.VARCHAR)
    private String other2;
    /**
     * 首年生产天数
     */
    @TableField(jdbcType= JdbcType.NUMERIC)
    private Integer productionDay;
    /**
     * 资源税
     */
    @TableField(jdbcType= JdbcType.NUMERIC)
    private Double resourceRate;
    /**
     * 单井日产
     */
    @TableField(jdbcType= JdbcType.NUMERIC)
    private Double wellOutput;

    public Double getWellOutput() {
        return wellOutput;
    }

    public void setWellOutput(Double wellOutput) {
        this.wellOutput = wellOutput;
    }

    public Double getResourceRate() {
        return resourceRate;
    }

    public void setResourceRate(Double resourceRate) {
        this.resourceRate = resourceRate;
    }

    public Integer getProductionDay() {
        return productionDay;
    }

    public void setProductionDay(Integer productionDay) {
        this.productionDay = productionDay;
    }

    public String getOther1() {
        return other1;
    }

    public void setOther1(String other1) {
        this.other1 = other1;
    }

    public String getOther2() {
        return other2;
    }

    public void setOther2(String other2) {
        this.other2 = other2;
    }

    public String getBatchQuality() {
        return batchQuality;
    }

    public void setBatchQuality(String batchQuality) {
        this.batchQuality = batchQuality;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public boolean isUltimate() {
        return ultimate;
    }

    public void setUltimate(boolean ultimate) {
        this.ultimate = ultimate;
    }

    public String getComputeId() {
        return computeId;
    }

    public void setComputeId(String computeId) {
        this.computeId = computeId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getBuildOffice() {
        return buildOffice;
    }

    public void setBuildOffice(String buildOffice) {
        this.buildOffice = buildOffice;
    }

    public Integer getEvaluationPeriod() {
        return evaluationPeriod;
    }

    public void setEvaluationPeriod(Integer evaluationPeriod) {
        this.evaluationPeriod = evaluationPeriod;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getOilGasField() {
        return oilGasField;
    }

    public void setOilGasField(String oilGasField) {
        this.oilGasField = oilGasField;
    }

    public String getCapacityType() {
        return capacityType;
    }

    public void setCapacityType(String capacityType) {
        this.capacityType = capacityType;
    }

    public String getDisplacementMethod() {
        return displacementMethod;
    }

    public void setDisplacementMethod(String displacementMethod) {
        this.displacementMethod = displacementMethod;
    }

    public Integer getDrillOilWellCount() {
        return drillOilWellCount;
    }

    public void setDrillOilWellCount(Integer drillOilWellCount) {
        this.drillOilWellCount = drillOilWellCount;
    }

    public Integer getDrillWaterWellCount() {
        return drillWaterWellCount;
    }

    public void setDrillWaterWellCount(Integer drillWaterWellCount) {
        this.drillWaterWellCount = drillWaterWellCount;
    }

    public Integer getDrillWellCount() {
        return drillWellCount;
    }

    public void setDrillWellCount(Integer drillWellCount) {
        this.drillWellCount = drillWellCount;
    }

    public Double getStraightWellDeth() {
        return straightWellDeth;
    }

    public void setStraightWellDeth(Double straightWellDeth) {
        this.straightWellDeth = straightWellDeth;
    }

    public Double getHorizontalWellDeth() {
        return horizontalWellDeth;
    }

    public void setHorizontalWellDeth(Double horizontalWellDeth) {
        this.horizontalWellDeth = horizontalWellDeth;
    }

    public Double getIntoRuler() {
        return intoRuler;
    }

    public void setIntoRuler(Double intoRuler) {
        this.intoRuler = intoRuler;
    }

    public Integer getInfOilWellCount() {
        return infOilWellCount;
    }

    public void setInfOilWellCount(Integer infOilWellCount) {
        this.infOilWellCount = infOilWellCount;
    }

    public Integer getInfWaterWellCount() {
        return infWaterWellCount;
    }

    public void setInfWaterWellCount(Integer infWaterWellCount) {
        this.infWaterWellCount = infWaterWellCount;
    }

    public Integer getInfWellCount() {
        return infWellCount;
    }

    public void setInfWellCount(Integer infWellCount) {
        this.infWellCount = infWellCount;
    }

    public Double getBuiltUpCapacity() {
        return builtUpCapacity;
    }

    public void setBuiltUpCapacity(Double builtUpCapacity) {
        this.builtUpCapacity = builtUpCapacity;
    }

    public Double getStraightWellOutput() {
        return straightWellOutput;
    }

    public void setStraightWellOutput(Double straightWellOutput) {
        this.straightWellOutput = straightWellOutput;
    }

    public Double getHorizontalWellOutput() {
        return horizontalWellOutput;
    }

    public void setHorizontalWellOutput(Double horizontalWellOutput) {
        this.horizontalWellOutput = horizontalWellOutput;
    }

    public Integer getHorizontalWellCount() {
        return horizontalWellCount;
    }

    public void setHorizontalWellCount(Integer horizontalWellCount) {
        this.horizontalWellCount = horizontalWellCount;
    }

    public Integer getBuildHorizontalWellCount() {
        return buildHorizontalWellCount;
    }

    public void setBuildHorizontalWellCount(Integer buildHorizontalWellCount) {
        this.buildHorizontalWellCount = buildHorizontalWellCount;
    }

    public Double getRegionOilGasRate() {
        return regionOilGasRate;
    }

    public void setRegionOilGasRate(Double regionOilGasRate) {
        this.regionOilGasRate = regionOilGasRate;
    }

    public Double getOldNetWorth() {
        return oldNetWorth;
    }

    public void setOldNetWorth(Double oldNetWorth) {
        this.oldNetWorth = oldNetWorth;
    }

    public Double getBaseIrr() {
        return baseIrr;
    }

    public void setBaseIrr(Double baseIrr) {
        this.baseIrr = baseIrr;
    }

    public Integer getBuildYearCount() {
        return buildYearCount;
    }

    public void setBuildYearCount(Integer buildYearCount) {
        this.buildYearCount = buildYearCount;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getProductProperty() {
        return productProperty;
    }

    public void setProductProperty(String productProperty) {
        this.productProperty = productProperty;
    }

    public String getPoolType() {
        return poolType;
    }

    public void setPoolType(String poolType) {
        this.poolType = poolType;
    }

    public String getAreaMark() {
        return areaMark;
    }

    public void setAreaMark(String areaMark) {
        this.areaMark = areaMark;
    }

    public String getEvaluationMethod() {
        return evaluationMethod;
    }

    public void setEvaluationMethod(String evaluationMethod) {
        this.evaluationMethod = evaluationMethod;
    }

    public Integer getYear() {
        return year;
    }

    public void setYear(Integer year) {
        this.year = year;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public Double getNewAnnualCapacity() {
        return newAnnualCapacity;
    }

    public void setNewAnnualCapacity(Double newAnnualCapacity) {
        this.newAnnualCapacity = newAnnualCapacity;
    }

    public Integer getNewWellCount() {
        return newWellCount;
    }

    public void setNewWellCount(Integer newWellCount) {
        this.newWellCount = newWellCount;
    }

    public Integer getOutputWellOpenCount() {
        return outputWellOpenCount;
    }

    public void setOutputWellOpenCount(Integer outputWellOpenCount) {
        this.outputWellOpenCount = outputWellOpenCount;
    }

    public Integer getInjectWellOpenCount() {
        return injectWellOpenCount;
    }

    public void setInjectWellOpenCount(Integer injectWellOpenCount) {
        this.injectWellOpenCount = injectWellOpenCount;
    }

    public Double getDrillExtractInvest() {
        return drillExtractInvest;
    }

    public void setDrillExtractInvest(Double drillExtractInvest) {
        this.drillExtractInvest = drillExtractInvest;
    }

    public Double getGroundInvest() {
        return groundInvest;
    }

    public void setGroundInvest(Double groundInvest) {
        this.groundInvest = groundInvest;
    }

    public Double getOtherInvest() {
        return otherInvest;
    }

    public void setOtherInvest(Double otherInvest) {
        this.otherInvest = otherInvest;
    }

//    public Double getNetAssetsUnUse() {
//        return netAssetsUnUse;
//    }
//
//    public void setNetAssetsUnUse(Double netAssetsUnUse) {
//        this.netAssetsUnUse = netAssetsUnUse;
//    }

    public Integer getFixedPerson() {
        return fixedPerson;
    }

    public void setFixedPerson(Integer fixedPerson) {
        this.fixedPerson = fixedPerson;
    }

    @Override
    public String toString() {
        return "ProjectInfo{" +
                "name='" + name + '\'' +
                ", type='" + type + '\'' +
                ", buildOffice='" + buildOffice + '\'' +
                ", evaluationPeriod=" + evaluationPeriod +
                ", buildYearCount=" + buildYearCount +
                ", productType='" + productType + '\'' +
                ", productProperty='" + productProperty + '\'' +
                ", poolType='" + poolType + '\'' +
                ", areaMark='" + areaMark + '\'' +
                ", evaluationMethod='" + evaluationMethod + '\'' +
                ", year=" + year +
                ", batchId='" + batchId + '\'' +
                ", newAnnualCapacity=" + newAnnualCapacity +
                ", newWellCount=" + newWellCount +
                ", outputWellOpenCount=" + outputWellOpenCount +
                ", injectWellOpenCount=" + injectWellOpenCount +
                ", drillExtractInvest=" + drillExtractInvest +
                ", groundInvest=" + groundInvest +
                ", otherInvest=" + otherInvest +
               // ", netAssetsUnUse=" + netAssetsUnUse +
                ", fixedPerson=" + fixedPerson +
                '}';
    }
}
